#include "bsp_led.h"


void LED_Init(void)
{
	gpio_init_type gpio_init_struct;
	
	crm_periph_clock_enable(LED_GPIO_CLK, TRUE);
	
	gpio_default_para_init(&gpio_init_struct);
	
	gpio_init_struct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER;
	gpio_init_struct.gpio_out_type = GPIO_OUTPUT_PUSH_PULL;
	gpio_init_struct.gpio_mode = GPIO_MODE_OUTPUT;
	gpio_init_struct.gpio_pins = LED_GPIO_PIN;
	gpio_init_struct.gpio_pull = GPIO_PULL_DOWN;
	gpio_init(LED_GPIO_PORT, &gpio_init_struct);
	
	LED_OFF();
}

void LED_ON(void)
{
	gpio_bits_write(LED_GPIO_PORT ,LED_GPIO_PIN, FALSE);
}

void LED_OFF(void)
{
	gpio_bits_write(LED_GPIO_PORT ,LED_GPIO_PIN, TRUE);
}

void LED_TOGGLE(void)
{
	static uint8_t flag = 0;
	
	if(!flag)
	{
		LED_ON();
	}
	else
	{
		LED_OFF();
	}
	flag = ~flag;
}
